// echarts 图表
<template>
    <div>
        <div id="myCharts" :style="{width: '300px', height: '300px'}"></div>
        <div id="pieCharts" :style="{width: '300px', height: '300px'}"></div>
        <div id="mapCharts" :style="{width: '1000px', height: '500px'}"></div>
    </div>
</template>
<script>
// 引入 ECharts 主模块
let echarts = require('echarts/lib/echarts')
// 引入柱状图
require('echarts/lib/chart/bar')
// 饼图
require("echarts/lib/chart/pie")
// 引入提示框和标题组件
require('echarts/lib/component/tooltip')
require('echarts/lib/component/title')
// 引入map
require('echarts/map/js/china.js')
require('echarts/lib/chart/map')

export default {
  name: 'hello',
  data () {
    return {
      msg: '启动'
    }
  },
  mounted () {
    this.drawBar()
    this.drawPie()
    this.drawMap()
  },
  methods: {
    drawBar () {
      // 基于准备好的dom，初始化echarts实例   柱状/条形图
      let myChart = echarts.init(document.getElementById('myCharts'))
      // 绘制图表
      myChart.setOption({
        title: { text: 'ECharts 入门示例' },
        tooltip: {},
        xAxis: {
          data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
        },
        yAxis: {},
        series: [{
          name: '销量',
          type: 'bar',
          data: [5, 20, 36, 10, 10, 20]
        }]
      })
    },
    drawPie () {
        let pieCharts = echarts.init(document.getElementById('pieCharts'))
        pieCharts.setOption({
            backgroundColor: '#2c343c',
                title: {
                    text: 'Customized Pie',
                    left: 'center',
                    top: 20,
                    textStyle: {
                        color: '#ccc'
                    }
                },
                visualMap: {
                    show: false,
                    min: 80,
                    max: 600,
                    inRange: {
                        colorLightness: [0, 1]
                    }
                },
                series : [
                    {
                        name:'访问来源',
                        type:'pie',
                        radius : '55%',
                        center: ['50%', '50%'],
                        data:[
                            {value:335, name:'直接访问'},
                            {value:310, name:'邮件营销'},
                            {value:274, name:'联盟广告'},
                            {value:235, name:'视频广告'},
                            {value:400, name:'搜索引擎'}
                        ].sort(function (a, b) { return a.value - b.value; }),
                        roseType: 'radius',
                        label: {
                            normal: {
                                textStyle: {
                                    color: 'rgba(255, 255, 255, 0.3)'
                                }
                            }
                        },
                        labelLine: {
                            normal: {
                                lineStyle: {
                                    color: 'rgba(255, 255, 255, 0.3)'
                                },
                                smooth: 0.2,
                                length: 10,
                                length2: 20
                            }
                        },
                        itemStyle: {
                            normal: {
                                color: '#c23531',
                                shadowBlur: 200,
                                shadowColor: 'rgba(0, 0, 0, 0.5)'
                            }
                        },

                        animationType: 'scale',
                        animationEasing: 'elasticOut',
                        animationDelay: function (idx) {
                            return Math.random() * 200;
                        }
                    }
                ]
        })
    },
    drawMap () {
      // 地图
      let mapCharts = echarts.init(document.getElementById('mapCharts'))
      mapCharts.setOption({
        series: [{
          name: 'iphone3',
          type: 'map',
          mapType: 'china'
        }]
      })
    }
  }
}
</script>
